package com.jxufe;

import java.util.Random;
import java.util.Scanner;

public class shuzijiami {
    public static void main(String[] args) {
        //获取七个中奖号码
        int[] luckyNumber = createLuckyNumber();
        //获取用户输入的号码
        for (int i = 0; i < luckyNumber.length; i++) {
            System.out.print(luckyNumber[i]+"\t");
        }
        int[] userNumbers = userInputNumbers();
        for (int i = 0; i < userNumbers.length; i++) {
            System.out.print(userNumbers[i]+"\t");
        }
        judge(userNumbers,luckyNumber);
        //比对中奖情况
    }

    /**
     * 随机一组中奖号码
     * @return
     */
    public static int[] createLuckyNumber(){
        int[] numbers=new int[7];
        Random random=new Random();
        for (int i = 0; i < numbers.length-1; i++) {
            //当生成的号码是不重复的就退出死循环，生成下一个号码
            while (true){
                int num=random.nextInt(33)+1;//生成1-33的号码
                boolean flag=true;//默认是不重复的
                for (int j = 0; j <i; j++) {
                    //这里当遍历万所有数组元素发现没有重复的时候，flag还是true，在下面的if判断的时候就可以跳出死循环
                    if (numbers[j]==num){
                        flag=false;
                        break;
                    }
                }
                //这里就是判断是否跳出死循环，要是flag=true就跳出死循环
                if (flag){
                    numbers[i]=num;
                    break;
                }
            }
        }
        numbers[numbers.length-1]=random.nextInt(16)+1;
        return numbers;
    }

    /**
     * 得到用户输入的七个数字
     * @return
     */
    public static int[]userInputNumbers(){
        int[]numbers=new int[7];
        Scanner scanner=new Scanner(System.in);
        for (int i = 0; i < numbers.length-1; i++) {
            System.out.println("请您输入第"+i+"个红球的数字(1-33):");
            int data=scanner.nextInt();
            numbers[i]=data;
        }
        System.out.println("请您输入蓝球号码:");
        numbers[numbers.length-1]=scanner.nextInt();
        return numbers;
    }


    /**
     * 比对两数组，得出中奖情况
     */
    public static void judge(int[]userNumbers,int[]luckyNumbers){
        //比对前六个红球，最后比对篮球
        int redNum=0;
        int blueNum=0;
        for (int i = 0; i < userNumbers.length-1; i++) {
            for (int j = 0; j < luckyNumbers.length-1; j++) {
                if (userNumbers[i]==luckyNumbers[j]){
                    redNum++;
                }
            }
        }
        if (userNumbers[userNumbers.length-1]==luckyNumbers[luckyNumbers.length-1]){
            blueNum++;
        }
        switch (redNum){
            case 6:
                if (blueNum==1){
                    System.out.println("一等奖，最高1000万！");
                }else{
                    System.out.println("二等奖，最高500万！");
                }
                break;
            case 5:
                if (blueNum==1){
                    System.out.println("三等奖，3000元");
                }else{
                    System.out.println("四等奖，200元");
                }
                break;
            case 4:
                if (blueNum==1){
                    System.out.println("四等奖，200元");
                }else{
                    System.out.println("五等奖，10元");
                }
                break;
            case 3:
                if (blueNum==1){
                    System.out.println("五等奖，10元");
                }
                break;
            case 2:
                if (blueNum==1){
                    System.out.println("五等奖，10元");
                }
                break;
            case 1:
                if (blueNum==1){
                    System.out.println("六等奖，5元");
                }
                break;
            case 0:
                if (blueNum==1){
                    System.out.println("六等奖，5元");
                }
                break;
            default:
                System.out.println("你没中奖");
        }

    }
}
